DNP3 Device Template Items
The DNP3 and DNP3 Emerson device template files include sections specific only to DNP3 devices.
dnp3 Support
The dnp3Suppport section of the device template file provides information on DNP3-related features. Point types supported by the device are grouped in this section.
The following table lists and describes the items found in the dnp3Support section.
| Property | Description |
|---|---|
|
fragmentSizeToDev |
Indicates the maximum size of the fragment sent from CygNet to the device.
|
|
fragmentSizeFromDev |
Indicates the maximum size of the fragment sent from the device to CygNet.
|
|
If set to true, triggers automatic polls based on internal indications (IIN) flags set in the device response. If set to false, the flags are ignored. The device template file provides support for IIN.1 to IIN.16 When autoPoll is enabled, the EIE automatically performs the associated configured command (cmdType) according to the IIN flags present. Each device instance can be individually enabled in the device template file, or optionally overridden at the device level. To override the template for individual device instances, use the "Auto poll" button on the Device tab of the remote device editor. See DNP3 Editor - Device Page for information about this option. See Best Practices for more information. |
|
|
ptTypes |
The ptTypes element contains an entry for each point type supported by the device. In CygNet Explorer, the Single Point and Event parameters dialogs will only include point types listed in ptTypes. The attribute hasEvents indicates whether or not events are supported for the point type. Default is true. |
|
canGetRange |
Indicates whether the device will accept messages formatted to have a range of points when requesting data. The flags can be set at the parent (ptTypes) node and inherited for each point type. Default is false. |
|
canGetDiscrete |
Indicates whether the device will accept messages formatted to have a discrete set of points when requesting data. The flags can be set at the parent (ptTypes) node and inherited for each point type. Default is false. |
|
canSetRange |
Indicates whether the device will accept messages formatted to have a range of points when sending data. The flags can be set at the parent (ptTypes) node and inherited for each point type. Default is false. |
|
canSetDiscrete |
Indicates whether the device will accept messages formatted to have a discrete set of points when sending data. The flags can be set at the parent (ptTypes) node and inherited for each point type. Default is false. |
|
dataTypes |
The dataTypes element enumerates which data types are supported for the point type. If none are listed, all are supported. |
|
write |
The write element contains attributes pertaining to sending binary output and analog output values to the device:
|
The following example displays a sample dnp3Support structure:
|
<dnp3Support fragmentSizeToDev="2048" fragmentSizeFromDev="2048"> <ptTypes canGetRange="true" canGetDiscrete="false" canSetRange="false" canSetDiscrete="true"> <!--funcCode for write operations: SelectOperate, DirectOperate--> <AI/> <AID canSetRange="true" canSetDiscrete="false"/> <AO> <write funcDode="SelectOperate" maxPts="16"/>> </AO> <BI/> <BI2/> <BO> <write funcCode="SelectOperate" maxPts="16"/> </BO> <CT/> <CTF/> <STR/> </ptTypes> <autoPoll enable="false"> <DeviceLoad cmdType="INTEGRTY"> <!--triggered on UIS restart, RD re-enable--> </DeviceLoad> <IIN.1 cmdType="DG_F_DEV" dgType="Event"> <uccParms Class1="true"/> <!--IIN.1 indicates class 1 events are available--> </IIN.1> <IIN.2 cmdType="DG_F_DEV" dgType="Event"> <uccParms Class2="true"/> <!--IIN.2 indicates class 2 events are available--> </IIN.2> <IIN.3 cmdType="DG_F_DEV" dgType="Event"> <uccParms Class3="true"/> <!--IIN.3 indicates class 3 events are available--> </IIN.3> <IIN.4 enable="true" cmdType="DG_T_DEV" dgType="DateTime"> <!--IIN.4 indicates needs time--> </IIN.4> <IIN.7 cmdType="RESTART"> <!--IIN.7 indicates a device restart--> </IIN.7> <IIN.11 cmdType="INTEGRTY"> <!--IIN.11 indicates event overflow--> </IIN.11> </autoPoll> </dnp3Support> |
DNP3 Status Flags
The statusFlags section of DNP3 device template files is an optional section that indicates how to map flags from the device to point status bits in the PNT. If omitted, none of the flags from the device will be mapped to CygNet status bits. This section contains a node for each flag set by the device. Only the flags that the user is interested in mapping need to be included in the device template file.
The state attribute indicates whether to perform the defined actions when the bit is set (true) or cleared (false). Each flag may include the following attributes that map to CygNet point status bits in the PNT:
- setUnreliable
- setUser1
- setUser2
- setUser3
- setUser4
- setUser5
- setUser6
- setUser7
- setUser8
- setUser9
- setUser10
- setUser11
- setUser12
- setUser13
- setUser14
- setUser15
- setUser16
See Point Status Bits for a description of CygNet status bits that can be mapped.
The following table describes the DNP3 flags. For more information, see the DNP3 documentation.
| Property | Description |
|---|---|
|
online |
A bit value of 1 indicates the point is active; a bit value of 0 indicates the point is inactive, unavailable, or out-of-service. |
|
restart |
When true, indicates the point has not been updated from the field since device reset. |
|
commLost |
If true, there is a communication failure in the path between the device where the data originates and the reporting device and that the value reported may be stale. |
|
remoteForced |
If true, the value is overridden in a downstream reporting device. |
|
localForced |
If set, indicates the value is overridden by the device that reports this flag as set. |
|
chatterFilter |
When set, indicates the value is presently changing values rapidly; applies to binary input and double-bit binary input point types. |
|
overRange |
If set, indicates that a point’s value exceeds the valid measurement range of the point; applies to analog input point types. |
|
discontinuity |
If true, the reported counter value cannot be compared against a prior value to obtain the correct count difference; applies to counter point types. |
|
referenceErr |
If set, the measurement process determined that the point’s value might not be accurate; applies to analog input point types. |
The following example displays a sample statusFlags structure.
|
<statusFlags> <online state="false" setUnreliable="true"/> <restart state="true" setUnreliable="true"/> <commLost state="true" setUnreliable="true"/> <remoteForced state="true" setUser13="true"/> <localForced state="true" setUser13="true" setUser14="true"/> <chatterFilter state="true" setUnreliable="true"/> <overRange state="true" setUnreliable="true" setUser15="true"/> <discontinuity state="true" setUser16="true"/> <referenceErr state="true" setUnreliable="true"/> </statusFlags> |


